import { SVGProps } from 'react';

export function LoadingIcon(props: SVGProps<SVGSVGElement>) {
  return (
    <svg
      {...props}
      viewBox="0 0 1024 1024"
      fill={'currentColor'}
      style={{ animation: 'spin 1s linear infinite' }}
    >
      <path d="M988 548c-19.9 0-36-16.1-36-36 0-59.4-11.6-117-34.6-171.3a440.45 440.45 0 00-94.3-139.9 437.71 437.71 0 00-139.9-94.3C629 83.6 571.4 72 512 72c-19.9 0-36-16.1-36-36s16.1-36 36-36c69.1 0 136.2 13.5 199.3 40.3C772.3 66 827 103 874 150c47 47 83.9 101.8 109.7 162.7 26.7 63.1 40.2 130.2 40.2 199.3.1 19.9-16 36-35.9 36z" />
    </svg>
  );
}

export function ReloadIcon(props: SVGProps<SVGSVGElement>) {
  return (
    <svg {...props} viewBox="64 64 896 896" fill="currentColor">
      <path d="M909.1 209.3l-56.4 44.1C775.8 155.1 656.2 92 521.9 92 290 92 102.3 279.5 102 511.5 101.7 743.7 289.8 932 521.9 932c181.3 0 335.8-115 394.6-276.1 1.5-4.2-.7-8.9-4.9-10.3l-56.7-19.5a8 8 0 00-10.1 4.8c-1.8 5-3.8 10-5.9 14.9-17.3 41-42.1 77.8-73.7 109.4A344.77 344.77 0 01655.9 829c-42.3 17.9-87.4 27-133.8 27-46.5 0-91.5-9.1-133.8-27A341.5 341.5 0 01279 755.2a342.16 342.16 0 01-73.7-109.4c-17.9-42.4-27-87.4-27-133.9s9.1-91.5 27-133.9c17.3-41 42.1-77.8 73.7-109.4 31.6-31.6 68.4-56.4 109.3-73.8 42.3-17.9 87.4-27 133.8-27 46.5 0 91.5 9.1 133.8 27a341.5 341.5 0 01109.3 73.8c9.9 9.9 19.2 20.4 27.8 31.4l-60.2 47a8 8 0 003 14.1l175.6 43c5 1.2 9.9-2.6 9.9-7.7l.8-180.9c-.1-6.6-7.8-10.3-13-6.2z"></path>
    </svg>
  );
}

export function RotateLeftIcon(props: SVGProps<SVGSVGElement>) {
  return (
    <svg {...props} viewBox="64 64 896 896" fill="currentColor">
      <path d="M672 418H144c-17.7 0-32 14.3-32 32v414c0 17.7 14.3 32 32 32h528c17.7 0 32-14.3 32-32V450c0-17.7-14.3-32-32-32zm-44 402H188V494h440v326z"></path>
      <path d="M819.3 328.5c-78.8-100.7-196-153.6-314.6-154.2l-.2-64c0-6.5-7.6-10.1-12.6-6.1l-128 101c-4 3.1-3.9 9.1 0 12.3L492 318.6c5.1 4 12.7.4 12.6-6.1v-63.9c12.9.1 25.9.9 38.8 2.5 42.1 5.2 82.1 18.2 119 38.7 38.1 21.2 71.2 49.7 98.4 84.3 27.1 34.7 46.7 73.7 58.1 115.8a325.95 325.95 0 016.5 140.9h74.9c14.8-103.6-11.3-213-81-302.3z"></path>
    </svg>
  );
}

export function RotateRightIcon(props: SVGProps<SVGSVGElement>) {
  return (
    <svg {...props} viewBox="64 64 896 896" fill="currentColor">
      <path d="M480.5 251.2c13-1.6 25.9-2.4 38.8-2.5v63.9c0 6.5 7.5 10.1 12.6 6.1L660 217.6c4-3.2 4-9.2 0-12.3l-128-101c-5.1-4-12.6-.4-12.6 6.1l-.2 64c-118.6.5-235.8 53.4-314.6 154.2A399.75 399.75 0 00123.5 631h74.9c-.9-5.3-1.7-10.7-2.4-16.1-5.1-42.1-2.1-84.1 8.9-124.8 11.4-42.2 31-81.1 58.1-115.8 27.2-34.7 60.3-63.2 98.4-84.3 37-20.6 76.9-33.6 119.1-38.8z"></path>
      <path d="M880 418H352c-17.7 0-32 14.3-32 32v414c0 17.7 14.3 32 32 32h528c17.7 0 32-14.3 32-32V450c0-17.7-14.3-32-32-32zm-44 402H396V494h440v326z"></path>
    </svg>
  );
}

export function CaretDownIcon(props: SVGProps<SVGSVGElement>) {
  return (
    <svg {...props} width="14" height="14" fill="currentColor">
      <path d="M10.732 5H3.268c-.224 0-.349.245-.21.413l3.732 4.49a.277.277 0 00.42 0l3.732-4.49c.139-.168.014-.413-.21-.413z" />
    </svg>
  );
}

export function EyeIcon(props: SVGProps<SVGSVGElement>) {
  return (
    <svg {...props} viewBox="0 0 20 20" fill="currentColor">
      <path d="M10 3c4.003 0 7.53 2.102 9.593 5.291a2.53 2.53 0 010 2.75c-2.063 3.19-5.59 5.292-9.593 5.292s-7.53-2.101-9.593-5.29a2.53 2.53 0 010-2.752C2.47 5.101 5.997 3 10 3zm-.012 2.333a4.337 4.337 0 00-4.34 4.334A4.337 4.337 0 009.988 14c2.397 0 4.34-1.94 4.34-4.333a4.337 4.337 0 00-4.34-4.334zm0 1.334a3.002 3.002 0 013.004 3c0 1.657-1.345 3-3.004 3a3.002 3.002 0 01-3.005-3c0-1.657 1.345-3 3.005-3z" />
    </svg>
  );
}

export function EyeOffIcon(props: SVGProps<SVGSVGElement>) {
  return (
    <svg {...props} viewBox="0 0 20 20" fill="currentColor">
      <path d="M19.78 7.738a.964.964 0 00-1.488-1.227 10.567 10.567 0 01-2.159 1.98 10.487 10.487 0 01-5.958 1.848 10.514 10.514 0 01-2.826-.381 10.394 10.394 0 01-1.977-.776 10.612 10.612 0 01-3.646-3.095.964.964 0 00-1.547 1.15c.487.655 1.037 1.26 1.642 1.808a.955.955 0 00-.084.17l-1.01 2.692a.964.964 0 101.806.677l.868-2.32a12.316 12.316 0 002.632 1.298l-.528 2.696a.964.964 0 101.893.371l.504-2.569c1.358.25 2.747.275 4.113.072l.44 2.417a.964.964 0 101.898-.346l-.455-2.502a12.37 12.37 0 002.381-1.029l.993 2.333a.964.964 0 001.775-.756l-1.139-2.673a12.537 12.537 0 001.871-1.838z" />
    </svg>
  );
}

export function PrivacyIcon(props: SVGProps<SVGSVGElement>) {
  return (
    <svg {...props} viewBox="0 0 18 19">
      <path
        d="M15.0386 4.2826V11.3605C15.0386 11.785 14.9378 12.2071 14.7367 12.6268C14.535 13.0477 14.2717 13.4541 13.9457 13.849C13.6196 14.2433 13.247 14.6171 12.8285 14.9692C12.4094 15.3218 11.9849 15.6358 11.5544 15.9112C11.1232 16.1872 10.7047 16.4166 10.2983 16.599C9.89192 16.7814 9.53565 16.9064 9.22949 16.9746L9.08456 17L8.95171 16.9746C8.6377 16.9064 8.27357 16.7814 7.85872 16.599C7.44386 16.4166 7.01331 16.1872 6.56645 15.9112C6.11959 15.6358 5.68119 15.3218 5.25003 14.9692C4.81948 14.6171 4.43482 14.2433 4.09665 13.849C3.75849 13.4541 3.48494 13.0477 3.276 12.6268C3.06586 12.2071 2.96139 11.785 2.96139 11.3605V4.2826L3.32501 4.20591L9.0121 2L14.6763 4.20591L15.0386 4.2826ZM9.01391 3.02476L4.17878 4.97644V9.442H9.01391V3.02476ZM13.8213 9.442H9.01391V15.7983C9.32309 15.7234 9.65944 15.6093 10.023 15.4553C10.3859 15.3013 10.7446 15.1195 11.0984 14.9094C11.4529 14.6992 11.7935 14.4661 12.1214 14.2095C12.4493 13.9529 12.7385 13.6769 12.9916 13.3828C13.244 13.0893 13.4451 12.7838 13.5954 12.4661C13.7464 12.1491 13.8213 11.8267 13.8213 11.5V9.442Z"
        fill="currentColor"
      />
    </svg>
  );
}
